The Session Initiation Protocol (SIP), together with extensions defined by the SIP Instant Messaging and Presence Leveraging Extensions (SIMPLE), provide for the implementation of presence servers which receive and maintain presence information regarding entities, such as computer or cell phone users, and provide presence information to subscribers who request entity presence information. SIP presence servers receive requests to publish presence information and subscription requests for presence information, with such requests typically being active for a predefined period of time in accordance with an expiration time that is specified for each request. As long as a publish request is active, the published presence information is maintained by the presence server. When the publish request expires, the presence server deletes the related presence information. Similarly, as long as a subscription request is active, the presence server sends notifications to the subscriber regarding any updates to the presence information he requested. When the subscribe request expires, the presence server ceases to send presence information updates to the subscriber and notifies the subscriber that the subscription has expired.
While some SIP implementations, such as those conforming to the Java™ Specification Request (JSR) 116 describing a SIP servlet API, support the ability to migrate a session object and its contents to another server, this does not extend to the failure of a SIP presence server and the migration of its active subscriptions and publications of presence information to another presence server. In such a situation, active subscription and publication requests on a failed presence server must be manually reestablished on another presence server. This is inexpedient, as the active requests of a failed presence server should be handled by another presence server immediately so as not to miss sending a notification or deleting a request at its expiration.
A mechanism for SIP presence server failover that allows for automatic migration of presence server requests would therefore be advantageous. Such a mechanism is not known in the prior art.